package ar.com.ctrln.persistence.model.factibilidad;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import ar.com.ctrln.persistence.model.servicios.TipoServicio;

@Entity
@Table(name = "DETALLE_FACTIBILIDAD")
public class DetalleFactibilidad {

	@Id
	@GeneratedValue
	@Column(name = "id_detalle")
	private long id;

	@ManyToOne
	@JoinColumn(name = "id_factibilidad")
	private Factibilidad factibilidad;

	@OneToMany(mappedBy = "detalle", fetch = FetchType.EAGER)
	private Set<Requerimiento> requerimientos;

	@OneToOne
	private TipoServicio tipoServicio;

	@Column
	private double totalDetalle;

	@Column
	private String tipo;

	@Column
	private String item;

	@Column
	private String observacion;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public Factibilidad getFactibilidad() {
		return factibilidad;
	}

	public void setFactibilidad(Factibilidad factibilidad) {
		this.factibilidad = factibilidad;
	}

	public void setTipoServicio(TipoServicio tipoServicio) {
		this.tipoServicio = tipoServicio;
	}

	public TipoServicio getTipoServicio() {
		return tipoServicio;
	}

	public String getTipo() {
		return tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	public String getItem() {
		return item;
	}

	public void setItem(String item) {
		this.item = item;
	}

	public String getObservacion() {
		return observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	public void setRequerimientos(Set<Requerimiento> requerimientos) {
		this.requerimientos = requerimientos;
	}

	public Set<Requerimiento> getRequerimientos() {
		return requerimientos;
	}

	public void setTotalDetalle(double totalDetalle) {
		this.totalDetalle = totalDetalle;
	}

	public double getTotalDetalle() {
		return totalDetalle;
	}

}
